// vue.config.js
const path = require('path')

// 修改webpack配置
module.exports = {
  chainWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      // 为生产环境修改配置...
    } else {
      // 为开发环境修改配置...
      // 只会在 开发环境中生效，当我们使用 build 去打包一个项目的时候，那么这里的配置不会生效
    }

    config.resolve.alias
      .set('@img', path.join(__dirname, 'src/assets/img')) //* 给图片路径设置别名
      .set('@css', path.join(__dirname, 'src/assets/css'))
      .set('@js', path.join(__dirname, 'src/assets/js'))
      .set('@iconfont', path.join(__dirname, 'src/assets/iconfont'))
      .set('@com', path.join(__dirname, 'src/components'))
      .set('@', path.join(__dirname, 'src')) //* 输入个格式
  },

  css: {
    loaderOptions: {
      stylus: {
        'resolve url': true,
        import: [
          // 引入cube-ui全局样式
          './src/theme',
          // 引入自定义全局样式
          './src/assets/css/style'
        ]
      }
    }
  },

  pluginOptions: {
    'cube-ui': {
      postCompile: true,
      theme: true
    }
  },

  devServer: {
    // 配置代理转发
    // 解决跨域问题
    proxy: {
      '/mock/hybrid': { // 匹配路径
        // 转发的目标主机地址
        // 将vue部署的主机地址替换为转发的目标主机地址
        target: 'http://192.168.0.102:3000',
        ws: true,
        // 允许跨域
        changOrigin: true,
        // 路径重写
        pathRewrite: {
          '^/mock/hybrid': '/mock/hybrid'
        }
      }
    }
  }
}
